package singleton.multipleton;

import java.util.ArrayList;

/**
 * 多例模式
 *
 * @author laigl 2017年7月11日
 *
 */
public class Multipleton {

	private static final int N = 10;

	private static ArrayList<Multipleton> list = new ArrayList<Multipleton>();

	private int no;

	private Multipleton(int no) {
		this.no = no;
		System.out.println("---create Multipleton Object -- no:[" + no + "]!");
	}

	// 实例化N个对象实例
	static {
		for (int i = 0; i < N; i++) {
			list.add(new Multipleton(i));
		}
	}

	/**
	 * 随机获得实例
	 * 
	 * @return
	 */
	public static Multipleton getRandomInstance() {
		int num = (int) (Math.random() * N);
		return list.get(num);
	}

	public int getNo() {
		return no;
	}

	public void setNo(int no) {
		this.no = no;
	}

}
